package questionnaire.datetime;

import java.text.DateFormat;
import java.text.ParseException;
import java.util.Date;

import javax.sql.DataSource;

import org.apache.log4j.Logger;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import questionnaire.JDBC.JDBC;
import sun.misc.FormattedFloatingDecimal;

public class DateTime {
	static Logger log = Logger.getLogger(JDBC.class);
	@Before
	public void before(){
		log.info("执行before方法。");
	}
	/**
	 * 创建一个日子对象
	 * 获得一个毫秒数
	 */
	@Test
	public void test(){
		Date date = new Date();

		System.out.println(date.getTime()); 
	}
	
	/**
	 * 获取当前系统时间
	 * 默认格式：毫秒数
	 */
	@Test
	public void test1(){
		System.out.println("获得系统当前时间："+System.currentTimeMillis());
	}
	
	@Test
	public void test2(){
		Date date = new Date();
		String formatDateTime = DateFormat.getDateTimeInstance().format(date);
		String formatDate = DateFormat.getDateInstance(DateFormat.LONG).format(date);
		DateFormat formatTime = DateFormat.getTimeInstance();
		
		System.out.println("格式化后的当前系统日期和时间："+formatDateTime);
		System.out.println("格式化后的当前系统日期："+formatDate);
		String textFormatTime = formatTime.format(date);
		System.out.println("默认格式格式化后的当前系统时间："+textFormatTime);
		
	}
	 
	/**
	 * 将给定的文本数据日期格式解析成日期对象。
	 * 可以使用DateFormat抽象类或他的实现类
	 * 字符串为默认格式
	 */
	@Test
	public void test3(){
		Date date = null;
		
		String textDateTime = "2015-4-29 14:57:01";
		String textDate = "2015-4-29";
		String textTime = "14:57:01";
		DateFormat df = DateFormat.getDateTimeInstance();
		DateFormat dfdate = DateFormat.getDateInstance();
		DateFormat dftime = DateFormat.getDateInstance();
		try {
			df.setLenient(false); //严格解析
			date = df.parse(textDateTime);
			Boolean bl = df.isLenient();
			System.out.println("解析后的长整形日期时间毫秒数："+date.getTime()+",是否不严格："+bl);
			
			date = dfdate.parse(textDate);
			System.out.println("解析后的长整形日期毫秒数："+date.getTime());
			 
			//无法将时间解析为date对象。
			
		} catch (ParseException e) {
		 
			e.printStackTrace();
		}
		
		 
	}
	
	
	@After
	public void after(){
		log.info("执行after方法。");
	}

}
